package com.stylefeng.guns.modular.system.service;

import com.baomidou.mybatisplus.service.IService;
import com.stylefeng.guns.common.persistence.model.Dict;

import java.util.List;
import java.util.Map;

/**
 * 字典服务
 *
 * @author fengshuonan
 * @date 2017-04-27 17:00
 */
public interface IDictService extends IService<Dict> {

    /**
     * 添加字典
     *
     * @author fengshuonan
     * @Date 2017/4/27 17:01
     */
    void addDict(String dictName, String dictValues, String modular);

    /**
     * 编辑字典
     *
     * @author fengshuonan
     * @Date 2017/4/28 11:01
     */
    void editDict(String dictId, String dictName, String dicts, String modular);

    /**
     * 删除字典
     *
     * @author fengshuonan
     * @Date 2017/4/28 11:39
     */
    void delteDict(String dictId);

    /**
     * 获取父名称的所有子字典
     * @param pname
     * @return
     */
     List<Dict> getByPName(String pname);
     List<Dict> getByPNameNotTop(String pname);

     List<Dict> getByPCode(String pname);

    List<Dict> getYears();

     List<Dict> getByPId(String pid);

    /**
     * 根据name获取数据
     * @param name
     * @return
     */
     Dict selectByName(String name);

     List<Dict> getChildByMap(Map<String,Object> condition);
     List<Dict> getChildByCode(String code);
    /**
     * 根据pid获取到字典的值
     * 再转换name为key，num为value
     * @param pcode
     * @return
     */
    Map<String,String> getMapNameNumByPcode(String pcode);
    Map<String,String> getMapNameCodeByPcode(String pcode);
    Map<String,String> getMapNumNameByPcode(String pcode);
}
